package org.example.test;

import org.example.config.SpringConfig;
import org.example.service.UserService;
import org.example.service.impl.UserServiceImpl;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class DongTaiZengQiang {
    public static void main(String[] args) {
        //// 加载xml配置
        //ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring-context.xml");

        // 加载注释配置
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
        UserService userService = context.getBean(UserService.class);
        //UserService userService = context.getBean(UserServiceImpl.class); // 错误：容器中没有直接注册UserServiceImpl类型的Bean
        // 当使用 @Service 注解标注实现类时，Spring 默认将 Bean 注册为接口类型（而非实现类类型）
        // Spring 容器中注册的 Bean 类型是 UserService（接口），而非 UserServiceImpl（实现类）
        //userService.delete(1);
        //userService.getName();

        userService.getById();
        userService.getByAll();
    }
}
